package com.ruoyi.system.service.impl;

import java.util.List;

import com.ruoyi.system.domain.comment.EngComment;
import com.ruoyi.system.domain.comment.VolumeComment;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.ModuleVolumeInfoMapper;
import com.ruoyi.system.domain.ModuleVolumeInfo;
import com.ruoyi.system.service.IModuleVolumeInfoService;

/**
 * 案卷表Service业务层处理
 * 
 * @author ruoyi
 * @date 2023-06-11
 */
@Service
public class ModuleVolumeInfoServiceImpl implements IModuleVolumeInfoService 
{
    @Autowired
    private ModuleVolumeInfoMapper moduleVolumeInfoMapper;

    /**
     * 查询案卷表
     * 
     * @param id 案卷表主键
     * @return 案卷表
     */
    @Override
    public ModuleVolumeInfo selectModuleVolumeInfoById(String id)
    {
        return moduleVolumeInfoMapper.selectModuleVolumeInfoById(id);
    }

    /**
     * 查询工程相关案卷表列表
     *
     * @return 案卷表集合
     */
    @Override
    public List<ModuleVolumeInfo> getRelaModuleVolumeInfoById(String id){
        return moduleVolumeInfoMapper.getRelaModuleVolumeInfoById(id);
    }

    /**
     * 查询案卷表列表
     * 
     * @param moduleVolumeInfo 案卷表
     * @return 案卷表
     */
    @Override
    public List<ModuleVolumeInfo> selectModuleVolumeInfoList(ModuleVolumeInfo moduleVolumeInfo)
    {
        return moduleVolumeInfoMapper.selectModuleVolumeInfoList(moduleVolumeInfo);
    }

    /**
     * 查询案卷注释信息列表
     *
     * @return 案卷信息集合
     */
    public List<VolumeComment> selectModuleVolumeComInfoList(){
        return moduleVolumeInfoMapper.selectModuleVolumeComInfoList();
    }
    /**
     * 新增案卷表
     * 
     * @param moduleVolumeInfo 案卷表
     * @return 结果
     */
    @Override
    public int insertModuleVolumeInfo(ModuleVolumeInfo moduleVolumeInfo)
    {
        return moduleVolumeInfoMapper.insertModuleVolumeInfo(moduleVolumeInfo);
    }

    /**
     * 修改案卷表
     * 
     * @param moduleVolumeInfo 案卷表
     * @return 结果
     */
    @Override
    public int updateModuleVolumeInfo(ModuleVolumeInfo moduleVolumeInfo)
    {
        return moduleVolumeInfoMapper.updateModuleVolumeInfo(moduleVolumeInfo);
    }

    /**
     * 批量删除案卷表
     * 
     * @param ids 需要删除的案卷表主键
     * @return 结果
     */
    @Override
    public int deleteModuleVolumeInfoByIds(String[] ids)
    {
        return moduleVolumeInfoMapper.deleteModuleVolumeInfoByIds(ids);
    }

    /**
     * 删除案卷表信息
     * 
     * @param id 案卷表主键
     * @return 结果
     */
    @Override
    public int deleteModuleVolumeInfoById(String id)
    {
        return moduleVolumeInfoMapper.deleteModuleVolumeInfoById(id);
    }

    /**
     * 通过classId查询Volume和Eng
     *
     * @param classIds 分类Id
     * @return 结果
     */
    @Override
    public  List<ModuleVolumeInfo> selectModuleVolumeInfoByClassIds(Long[] classIds, String vname){
        return moduleVolumeInfoMapper.selectModuleVolumeInfoByClassIds(classIds, vname);
    }

    @Override
    public List<ModuleVolumeInfo> selectModuleVolumeInfoByTopNodes(String[] topnodes, String vname){
        return moduleVolumeInfoMapper.selectModuleVolumeInfoByTopNodes(topnodes, vname);
    }

    @Override
    public int findMaxRowInClass(String topnode) {
        topnode = topnode + "%";
        return moduleVolumeInfoMapper.findMaxRowInClass(topnode);
    }

}
